package com.jiazhong.basic.pack0724;

import lombok.SneakyThrows;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;

// 文件的写入（字节流形式）
public class DemoB {

    @SneakyThrows
    private static void a() {
        // 1.产生一个文件
        File file = new File("/Users/dailyblue/workspace/io/1.txt");
        boolean exists = file.exists();
        if (!exists) {
            System.out.println("该文件不存在");
            return;
        }
        // 2.写入到这个文件中
        // 2.1 产生写入的对象（字节流对象）
        OutputStream out = new FileOutputStream(file);
        // 2.2 写入一个字
        String s = "张三来了呀";
        byte[] bytes = s.getBytes();
        out.write(bytes);
        // 2.3 关闭流通道
        //out.close();
    }

    @SneakyThrows
    private static void b() {
        // 1.产生一个文件
        File file = new File("/Users/dailyblue/workspace/io/1.txt");
        boolean exists = file.exists();
        if (!exists) {
            System.out.println("该文件不存在");
            return;
        }
        // 2.写入到这个文件中
        // 2.1 产生写入的对象（字节流对象） 追加操作
        OutputStream out = new FileOutputStream(file, true);
        // 2.2 写入一个字
        String s = "张三来了呀";
        byte[] bytes = s.getBytes();
        out.write(bytes);
        // 2.3 关闭流通道
        out.close();
    }

    @SneakyThrows
    private static void c() {
        File file = new File("/Users/dailyblue/workspace/io/2.txt");
        boolean exists = file.exists();
        if (!exists) {
            System.out.println("该文件不存在");
            file.createNewFile();
        }
        OutputStream out = new FileOutputStream(file);
        Scanner scan = new Scanner(System.in);
        String line;
        do {
            System.out.print("请输入：");
            line = scan.nextLine();
            if ("bye".equals(line)) {
                break;
            }
            byte[] bytes = (line + "\n").getBytes();
            out.write(bytes);
        } while (true);
        out.close();
    }

    public static void main(String[] args) {
        a();
    }
}
